.TH tapi\-stubify 1 2017-02-20 Darwin "TAPI Tool Documentation"
.SH NAME
tapi\-stubify \- Create a text-based stub file from a library
.SH SYNOPSIS
\fItapi stubify\fR [\-\-no\-uuids] [\-\-set\-installapi\-flag] [\-\-inline\-private\-frameworks] [\-isysroot <directory>] [\-o <file>] [\-\-help] <file>

\fItapi stubify\fR [\-\-inline\-private\-frameworks] [\-isysroot <directory>] [\-\-help] <directory>

.SH DESCRIPTION
.PP
The stubify command creates a text-based stub file (.tbd) from a dynamic library
or framework.

.PP
When the input is a file, then a text-based stub file is generated next to the
input file with the .tbd file extension (unless the \-o option is used). If the
conversion is not possible, then the tool will abort with an error.

.PP
When the input is a directoy, then the directory is recursively searched for
dynamic library files. All header directories are ignored during that search.
The stubbed files are placed next to the existing dynamic library files.

The existing symbolic link structure is mirrored for the newly created stub
files.

.SH OPTIONS
.PP
\-\-no\-uuids
.RS 4
This option should only be used when generating text\-based stub files for
installapi projects. It doesn't record the UUIDs of the library that are
stubbed. Not recording the UUIDs affects how the linker chooses when provided
with a text-based stub file and dynamic library file in the SDK.
.RE

.PP
\-\-set\-installapi\-flag
.RS 4
This option should only be used when generating text\-based stub files for
installapi projects. This sets the installapi flag in the text\-based stub file.
This option also implies -\-no\-uuids. Setting the installapi flag affects how
the linker chooses when provided with a text-based stub file and dynamic library
file in the SDK.
.RE

.PP
\-\-inline\-private\-frameworks
.RS 4
Private frameworks and libraries that are re\-exported from a public
framework/library are inlined into the public framework/library and the
re-export reference is removed.

When the re\-exported library doesn't have the same architecture slice, then an
ABI compatible slice is selected and inlined instead.
.RE

.PP
\-o <file>
.RS 4
Write output to <file>. This is only valid when the input is a file.
.RE

.PP
\-isysroot <directory>
.RS 4
Specifies the path to the SDK directory. This will be used as an additional
search path when inlining private frameworks.
.RE

.PP
\-\-help
.RS 4
Prints the list of options.
.RE
.SH SEE ALSO
tapi(1), ld(1)
